/*********************************** (C) COPYRIGHT ******************************
 * address: https://gitee.com/liuniansihuo/multitasks-os
 *
 * Change Logs:
 * Date			Author      	Notes
 * 2017-04-19	LiuHuo			first version
 *
*******************************************************************************/
#ifndef __typedef_H_
#define __typedef_H_




#ifndef NULL
#define NULL (void*)0
#endif

#ifndef false
#define false 0
#endif

#ifndef true
#define true (!false)
#endif


/*!< STM32F10x Standard Peripheral Library old types (maintained for legacy purpose) */
typedef int  						s32;
typedef short int 					s16;
//typedef char  						s8;

typedef const int 					sc32;  /*!< Read Only */
typedef const short int 			sc16;  /*!< Read Only */
//typedef const char 					sc8;   /*!< Read Only */

typedef volatile int  				vs32;
typedef volatile short int  		vs16;
//typedef volatile char   			vs8;

typedef volatile const int 			vsc32;  /*!< Read Only */
typedef volatile const short int 	vsc16;  /*!< Read Only */
//typedef volatile const char 		vsc8;   /*!< Read Only */

typedef unsigned int  				u32;
typedef unsigned short int  		u16;
typedef unsigned char  				u8;


typedef const unsigned int 			uc32;  /*!< Read Only */
typedef const unsigned short int 	uc16;  /*!< Read Only */
typedef const unsigned char 		uc8;   /*!< Read Only */

typedef volatile unsigned int  		vu32;
typedef volatile unsigned short int vu16;
typedef volatile unsigned char  	vu8;

typedef volatile const unsigned int 		vuc32;  /*!< Read Only */
typedef volatile const unsigned short int 	vuc16;  /*!< Read Only */
typedef volatile const unsigned char 		vuc8;   /*!< Read Only */

typedef volatile unsigned long long  int   u64;

typedef volatile unsigned int SysTick_t;

typedef unsigned char bool;



#ifndef _weak_
#define _weak_  __attribute__((weak))
#endif


#define PIN_STATE_RESET	(0)
#define PIN_STATE_SET	(!PIN_STATE_RESET)





#endif

